home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / oobr / BR-FEATURES < prev    next >
Encoding:
Text File  |  1995-08-26  |  7.4 KB  |  175 lines

  1. #
  2. # SUMMARY:      Summary of OO-Browser features
  3. #
  4. # AUTHOR:       Bob Weiner
  5. #
  6. # ORIG-DATE:    15-Oct-90
  7. # LAST-MOD:     23-Aug-95 at 15:56:13 by Bob Weiner
  8. #
  9. # Copyright (C) 1990-1995  Free Software Foundation, Inc.
  10. # See the file BR-COPY for license information.
  11. #
  12. # This file is part of the OO-Browser.
  13.      
  14. OO-Browser Features
  15. *******************
  16.  
  17. The OO-Browser is a multi-windowed, interactive object-oriented class browser
  18. similar in use to the well-known Smalltalk browsers.  It is unique in a
  19. number of respects foremost of which is that it works well with a
  20. multiplicity of object-oriented languages.  It provides both textual
  21. views within an editor and graphical views under the X window system.
  22.  
  23.  
  24. * Support for all popular OO Languages on UNIX
  25. ----------------------------------------------
  26.  
  27.   ** Contains support for Eiffel, C++, Objective-C, Common Lisp and its
  28.      Object System (CLOS), Java, and Smalltalk class browsing.  Additionally,
  29.      support for browsing large amounts of material in Info format by node
  30.      name (a popular online documentation format with cross references and
  31.      hierarchical structure) is included.
  32.  
  33.   ** Method browsing is supported for C++, Objective-C, Eiffel, Java and
  34.      CLOS.  CLOS supports browsing all elements defined with (def*
  35.      constructs.  In-source feature browsing is also supported for all of
  36.      these languages.  One simply selects a feature name to jump to its
  37.      corresponding source.  Method name overloading in C++ and inherited
  38.      feature renaming in Eiffel are fully supported.
  39.  
  40.   ** C code browsing is supported for C++, Objective-C and C source code.
  41.  
  42.   ** Objective-C category and formal protocol browsing are supported.
  43.  
  44.   ** C++ parameterized template classes and methods are supported.
  45.  
  46.   ** Immediate switching among languages is allowed.  One can switch
  47.      from Eiffel browsing to C++ browsing in an instant, if so desired.
  48.      Or simply run two OO-Browsers side by side.
  49.  
  50.   ** Multiple inheritance support is built-in, where applicable.
  51.  
  52.   ** Statistics on classes and Environments may be displayed.
  53.  
  54.   ** Language-specific class information may be shown.  Presently this
  55.      feature is supported only for Eiffel.  A listing of class parents,
  56.      attributes, routines and best guess (highly accurate) list of
  57.      routine calls may be displayed.  Outputs from the Eiffel 'short'
  58.      and 'flat' commands may also be shown.
  59.  
  60.  
  61. * For Serious Use
  62. ----------------------
  63.  
  64.   ** Library (stable) and System (in development) classes may be
  65.      maintained and listed separately or together.  Any number of
  66.      Libraries and Systems may be combined for listing in a single
  67.      Environment.  There are no fixed limits on the number of classes per
  68.      Environment nor on the number of Environments that may be browsed.
  69.  
  70.   **  All source code, over 400 kilobytes, is included and is heavily
  71.       documented.
  72.  
  73.  
  74. * Ease of Use
  75. -------------
  76.  
  77.   ** Machine-independent mouse support is included along with an extremely
  78.      intuitive point and click interface that uses just two mouse keys.  The
  79.      OO-Browser is pre-configured for use with the X window system, NEXTSTEP,
  80.      Sunview or Apollo's DM window system under InfoDock, Emacs V19, XEmacs,
  81.      Epoch, and Emacs V18.  Online mouse usage help is always one key away.
  82.  
  83.   ** Popup and pulldown command menus are available under InfoDock, Emacs V19
  84.      and XEmacs.
  85.  
  86.   ** The OO-Browser help display gives short descriptions of all of
  87.      the commands and key bindings available in the browser.  By clicking
  88.      on any such selection, the corresponding command is executed.
  89.  
  90.   ** One may also click on class names to see ancestors, descendants,
  91.      or the class itself.  Just select a class name and the OO-Browser
  92.      immediately will display or edit the class' source.  Once a class
  93.      file has been loaded, one can quickly switch to it by selection
  94.      from a menu of such files. 
  95.  
  96.   ** For a number of languages, one may also select a feature
  97.      (method) name or declaration and move directly to the definition
  98.      of the feature.  The browser accounts for the complexities of member name
  99.      overloading in C++ and unlimited feature renaming in Eiffel so that you
  100.      need not.  Just click on a declaration and watch the browser display jump
  101.      to the proper defintion.
  102.  
  103.   ** Jump back to a previously visited class or feature by selecting from a
  104.      list of recently visited ones.
  105.  
  106.   ** OO-Browser commands may also be invoked from the keyboard, allowing
  107.      unrestricted use via standard terminal interfaces.
  108.  
  109. * Speed
  110. -------
  111.  
  112.   ** Building Environments is fast compared to many other tools and browser
  113.      startup once an Environment has been built is very fast.  Response times
  114.      on workstations are excellent; for example, in one test case, less than
  115.      two real seconds were required to display a set of complex inheritance
  116.      graphs involving over 400 classes.
  117.  
  118.  
  119. * Flexibility
  120. -------------
  121.  
  122.   ** X and NEXTSTEP hierarchy display browsers are included.  They provide
  123.      views of class inheritance structure and lexically included elements,
  124.      which allows for quick random access to entire Environments.  A click on
  125.      a class or element name immediately jumps to it in the editor, providing
  126.      rapid, visual browsing.  One can pop up several graphical browsers to
  127.      gain several views of classes in the same or in multiple environments.
  128.      All graphical browsers can communicate with a single textual browser, so
  129.      one can quickly display and edit classes from different environments
  130.      (even different languages).
  131.  
  132.   ** The OO-Browser uses class source code only, hence no compiler is
  133.      necessary for proper browser operation.  This allows one to explore
  134.      class libraries without the need for additional tools.
  135.  
  136.   ** Class inheritance networks may be displayed.  Either a single
  137.      inheritance level (parents or children) or the entire inheritance
  138.      network (ancestors or descendants) for a set of classes may be shown.
  139.  
  140.   ** Class files may be added, replaced or deleted one at a time or as a
  141.      group by specifying a root directory below which all class files are
  142.      found, including those in subdirectories.
  143.  
  144.   ** A menu of class files can be displayed for random access to specific
  145.      code modules.
  146.  
  147.   ** On startup, the OO-Browser lists all currently known classes within a
  148.      particular Environment.  Any desired classes may be found by searching
  149.      or by matching a regular expression or string to the set of class names.
  150.      This may be done repeatedly to achieve an "and"-type relational query
  151.      effect.
  152.  
  153.   ** The number of listing windows is limited only by the screen width and
  154.      the width setting used for listing windows.
  155.  
  156.   ** The OO-Browser is adaptable to any class-based object-oriented language.
  157.  
  158.  
  159. * Editor Integration
  160. --------------------
  161.  
  162.   ** The OO-Browser works with the powerful, freely distributable, GNU
  163.      Emacs editor; it works on any UNIX system display supported by Emacs.
  164.      It is also possible to use alternative editors to view or to edit source
  165.      code displayed by the browser.
  166.  
  167.   ** All OO-Browser outputs are text which may be edited as desired or
  168.      saved to files.
  169.  
  170.   ** OO-Browser functions may be used standalone within the editor
  171.      without using the multi-windowed browser interface.  One useful
  172.      example is to point to a class name such as a parent class in the
  173.      text of another class and have the parent's source appear in an
  174.      editable fashion.
  175.